(function() {
	var _ = {
		scroller: '#scroller',
		subnav: '#subnav',
		curpage : 1,
		setId : '',
		cansrcoll : true,
		page1 : function() {
			var self = this,
				$page = $('.page1');
			$page.find('.bid').removeClass('bounceInDown');
			$page.find('.fid').removeClass('fadeInDown');
			$page.find('.bil').removeClass('bounceInLeft');
			$page.find('.biu').removeClass('bounceInUp');
			$page.find('.bir').removeClass('bounceInRight');
			setTimeout(function(){
				$page.find('.bid').addClass('bounceInDown');
				$page.find('.fid').addClass('fadeInDown');
				$page.find('.bil').addClass('bounceInLeft');
				$page.find('.biu').addClass('bounceInUp');
				$page.find('.bir').addClass('bounceInRight');
			},100);
			setTimeout(function(){
				self.cansrcoll = true;
			},1200);
		},
		page2 : function() {
			var self = this,
				$page = $('.page2');
			$page.find('.fid').removeClass('fadeInDown');
			$page.find('.bid').removeClass('bounceInDown');
			setTimeout(function(){
				$page.find('.fid').addClass('fadeInDown');
				$page.find('.bid').addClass('bounceInDown');
			},100);
			setTimeout(function(){
				self.cansrcoll = true;
			},1200);
		},
		page3 : function() {
			var self = this,
				$page = $('.page3');
			$page.find('.fid').removeClass('fadeInDown');
			$page.find('.bid').removeClass('bounceInDown');
			$page.find('.bi').removeClass('bounceIn');
			setTimeout(function(){
				$page.find('.fid').addClass('fadeInDown');
				$page.find('.bid').addClass('bounceInDown');
				$page.find('.bi').addClass('bounceIn');
			},100);
			setTimeout(function(){
				self.cansrcoll = true;
			},1200);
		},
		page4 : function() {
			var self = this,
				$page = $('.page4');
			$page.find('.fid').removeClass('fadeInDown');
			$page.find('.bid').removeClass('bounceInDown');
			$page.find('.bi').removeClass('bounceIn');
			$page.find('.d1').removeClass('drawline1');
			$page.find('.d2').removeClass('drawline2');
			$page.find('.d3').removeClass('drawline3');
			setTimeout(function(){
				$page.find('.fid').addClass('fadeInDown');
				$page.find('.bid').addClass('bounceInDown');
				$page.find('.bi').addClass('bounceIn');
				$page.find('.d1').addClass('drawline1');
				$page.find('.d2').addClass('drawline2');
				$page.find('.d3').addClass('drawline3');
			},100);
			setTimeout(function(){
				self.cansrcoll = true;
			},1200);
		},
		jump: function(){
			var self = this;
			$(this.scroller).css('top',-100 * (this.curpage-1) + '%');
			var top = 0;
			var setid = setInterval(function(){
				top = $('.page' + self.curpage).offset().top
				if(top < 0){
					top = -top;
				}
				if($('.page' + self.curpage).offset().top <= $(self.scroller).height()*0.25+300){
					clearInterval(setid);
					self['page' + self.curpage]();
				}
			},10);
			$(self.subnav).find('li').removeClass('active');
			$(self.subnav).find('li').eq(self.curpage-1).addClass('active');
		},
		addScrollEvent: function(){
			var self = this;
			var scrollFunc = function(e) {
				if (self.cansrcoll) {
					self.cansrcoll = false;
					var scrollD = 0;
					if (e.wheelDelta) {//IE/Opera/Chrome
						scrollD = e.wheelDelta;
					} else if (e.detail) {//Firefox
						scrollD = -e.detail;
					}
					if (scrollD > 0) {
						console.log('向上');
						self.curpage--;
						if(self.curpage < 1){
							self.curpage = 1;
							self.cansrcoll = true;
							return false;
						}
					} else {
						console.log('向下');
						self.curpage++;
						if(self.curpage > 4){
							self.curpage = 4;
							self.cansrcoll = true;
							return false;
						}
					}
					self.jump();
				}
			}
			if (document.addEventListener) {
				document.addEventListener('DOMMouseScroll', scrollFunc, false);
			}//W3C
			window.onmousewheel = document.onmousewheel = scrollFunc;
			//IE/Opera/Chrome
		},
		init : function() {
			var self = this;
			this.addScrollEvent();
			var prepage = self.curpage-1;
			$(this.subnav).on('click', 'a', function(){
				prepage = self.curpage;
				self.curpage = $(this).parents('li').index()+1;
				if(prepage != self.curpage){
					self.jump();
					$(self.subnav).find('li').removeClass('active');
					$(this).parents('li').addClass('active');
				}
			});
		}
	}
	_.init();
})();
